package src.edu.uniquindio.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import src.edu.uniquindio.mundo.Docente;
import src.edu.uniquindio.mundo.Estudiante;

public class DaoDocente {

	private Connection conexion;

	public DaoDocente(Connection conexion) {

		this.conexion = conexion;
	}

	public boolean crearDocente( String cedula, String nombre,
			String direccion, String telefono, String apellido1,
			String apellido2) {

		try {
			PreparedStatement pstmt = conexion
					.prepareStatement("insert into Docente (cedula,nombre,direccion,telefono,apellido1,apellido2) "
							+ "values(?,?,?,?,?,?)");

			pstmt.setString(1, cedula);
			pstmt.setString(2, nombre);
			pstmt.setString(3, direccion);
			pstmt.setString(4, telefono);
			pstmt.setString(5, apellido1);
			pstmt.setString(6, apellido2);
			pstmt.executeUpdate();
			return true;

		} catch (SQLException e) {

			e.printStackTrace();
			return false;
		}
	}

	/**
	 * metodo para editar un docente.
	 * 
	 * @param cliente
	 * @throws SQLException
	 */
	public void editar(Docente docente) throws SQLException {
		PreparedStatement pstmt = conexion
				.prepareStatement("update Docente set"
						+ " nombre=?,direccion=?,telefono=?,apellido1=?,apellido2=? where cedula=?");
		pstmt.setString(6, docente.getCedula());
		pstmt.setString(1, docente.getNombre());
		pstmt.setString(2, docente.getDireccion());
		pstmt.setString(3, docente.getTelefono());
		pstmt.setString(4, docente.getApellido1());
		pstmt.setString(5, docente.getApellido2());
		pstmt.executeUpdate();
	}

	public Boolean eliminarEstudiante(String codigoEstudiante) {
		try {
			PreparedStatement pstmt = conexion
					.prepareStatement("Delete from Estudiante where codigo=?");
			pstmt.setString(1, codigoEstudiante);
			int borro = pstmt.executeUpdate();
			if (borro > 0) {
				return true;
			} else {
				return false;
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

	public void editar(Estudiante es) {

		try {
			PreparedStatement pstmt = conexion
					.prepareStatement("update Estudiante set edad=?, nombre=? , direccion=? where codigo=?");
			pstmt.setInt(1, es.getEdad());
			pstmt.setString(2, es.getNombre());
			pstmt.setString(3, es.getDireccion());
			pstmt.setString(4, es.getCodigo());
			pstmt.executeUpdate();

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
